﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PdfConverter
{
    /*
     * 1.打开源文件（Word 和 Excel 的打开方式不同）
     * 2.预处理内容（Word 可能需要调整字体，Excel 可能需要调整表格布局）
     * 3.执行 PDF 转换（转换逻辑有差异）
     * 4.保存 PDF 文件（通用步骤，路径处理逻辑一致）
     * 5.可选步骤：添加水印（可通过钩子方法控制是否执行）
     */

    internal abstract class PdfConverter
    {
        protected string Name { get; set; }
        protected string Format { get; set; }

        protected PdfConverter() { }
        protected PdfConverter(string name,string format)
        {
            Name = name;
            Format = format;
        }

        protected abstract string OpenFile();
        protected abstract string Preprocess();
        protected abstract string Postprocess();
        protected string SaveFile()
        {
            return "保存了转化后的文件";
        }

        public void OverAll()
        {
            Console.WriteLine(OpenFile());
            Console.WriteLine(Preprocess());
            Console.WriteLine(Postprocess());
            Console.WriteLine(SaveFile());
        }
    }
}
